Toto je místo kam jdete, pokud máte zájem o hlubší nahlédnutí do FreeCADu. Zde se můžete dozvědět více o přizpůsobení FreeCADu pro Vaše potřeby.
Jedna z nejlepších vlastností FreeCADu je, že můžete skriptovat a značně rozšiřovat jeho možnosti bez nutnosti cokoliv kompilovat nebo sahat do zdrojového kódu. Všechny tyto skriptové části jsou dělány v Pythonu, velice mocném a zároveň jednoduchém programovacím jazyce. Pomocí jednoduchých Pythonovský skriptů máte úplný přístup ke všem částem FreeCADu. Například můžete:
- Vytvářet a upravovat konstrukce: Je nějaký druh speciálního objektu, který není přítomen v instalaci FreeCADu? Můžete snadno vytvořit nový typ objektu, buď z náčrtu nebo přizpůsobením existujícího typu.
- Vytváření uživatelských nástrojů a příkazů: V této době má FreeCAD už hodně širokou funkcionalitu, ale není zde zatím mnoho nástrojů a příkazů pro koncové uživatele. Ale je jednoduché vytvořit Váši vlastní sbírku nástrojů.
- Úprava interface: Uživatelský interface FreeCADu je zatím docela strohý. Ale máte zde vše co potřebujete pro jeho vylepšení. Například můžete vytvářet pruhy nástrojů s Vašimi vlastními nástroji, vytvářet speciální panely pro interakce s Vašimi nástroji, atd.
- Úpravy reprezentace úloh: FreeCAD má samostatné procesy pro vytváření a počítání konstrukcí a zobrazování konstrukcí na obrazovce. Máte plný přístup ke způsobu jak je obsah úlohy zobrazován na obrazovce, proto můžete měnit toto zobrazování a ovlivňovat je nebo přidávat všechny druhy uživatelského chování a widgetů, jako informace, přetahování, odkazování nebo dočasné entity.
Přizpůsobování FreeCADu
Skriptování ve FreeCADu
General
Modules
The functionality of FreeCAD is separated in Modules which deal with special data types and applications. FreeCAD has built-in modules and Extension Modules (plug-ins). Once plugin modules are installed, they become availible to you as easily as the built-in modules. The modules described below are the default modules, includeed in every FreeCAD installation.
- The Builtin modules are the principal FreeCAD modules. They contain tools for manipulating general FreeCAD configurations, documents and their contents.
- Workbench creation shows you how to create your own workbench
Working with Meshes
Working with Parts
Accessing the Coin scenegraph
Přístup k zobrazovači Coin
Controlling the Qt interface
Práce s parametrickými objekty
Examples
Příklady
- Ukázky kódu : Sbírka kousků Pythonovských skriptů ve FreeCADu, které mohou sloužít jako části Vašich skriptů...
- Funkce kreslení přímky: Jak vytvořit jednoduchý nástroj pro kreslení přímek
- Vytváření dialogového okna: Jak vytvořit dialogové okno pomocí designeru Qt a použít je ve FreeCADu
- Vkládání FreeCADu: Jak importovat FreeCAD jako Pythonovský modul do jiných aplikací
- Modul Kreslení přidává základní 2D kreslicí funkce do FreeCADu. Je plně napsán v Pythonu, takže to může být dobrý příklad, když chcete napsat Vaše vlastní moduly
- Knihovna vektorové matematiky FreeCADu : Pár šikovných funkcí pro práci s vektory ve FreeCADu. Tato knihovna je také včleněna do modulu Kreslení.
Funkce API
Kompletní popis API lze nalézt zde. Připomínám, že může být nekompletní, protože jsme zatím nenašli způsob jak je automaticky začlenit do této wiki. Pro přesnější informace se podívejte na moduly přímo z FreeCADu.
Related: Exposing C++ to Python
Pokročilé úpravy
Výukový program Pythonu
Jsou to dobré obecné výukové programy, které nejsou specifické pro FreeCAD, mohou Vás zajímat jste-li v Pythonu úplný nováček.
PyQt - Jak vytvořit a řídit Qt UI FreeCADu z Pythonu
The following two references are PyQt specific (not PySide) but may offer some information of use:
Pivy - Jak nakládat se 3D zobrazením ve FreeCADu
Komunitní projekty
Na komunitním portalu najdete další projekty založené na FreeCADu vytvořené členy komunity. Když začnete nový projekt ve FreeCADu, určitě ho přidejte sem! Máme také stránku kde najdete věci, které můžete dělat pokud byste měli zájem pomoci FreeCADu.
Power user documentation
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui